
//2593.标记所有元素后数组的分数
class Solution {
public:
    long long findScore(vector<int>& nums) {
        //带下标进行排序
        int n=nums.size();
        vector<pair<int,int>> tmp;
        for(int i=0;i<n;i++)
        tmp.push_back({nums[i],i});

        sort(tmp.begin(),tmp.end(),[](pair<int,int> x,pair<int,int> y){
            if(x.first!=y.first) return x.first<y.first;
            else return x.second<y.second;
            });   //根据元素大小和下标进行排序

        //进行选择
        int i=0;
        long long ret=0;
        unordered_set <int> del;  //存储被删除元素的下标
        for(int i=0;i<n;i++)
        {
            int index=tmp[i].second;
            if(del.count(index)==0)
            {
                ret+=tmp[i].first;
                del.insert(index+1);
                del.insert(index-1);
            }
        }
        return ret;
    }
};